سفارش تبلیغ
صبا ویژن

استفاده از چندین اداره کننده catch

 

خطاهای مختلف ،exception های مختلفی را ایجاد می کنند تا انواع مختلفی از مشکلات را نشان دهند. برای مثال، فرض کنید که یک متد به نام doCalculation استفاده می کنید که می تواند یک DividebyZeroException (تقسیم بر صفر)ایجاد کند. برای اداره این خطا می توانید از یک catch جداگانه برای این استثنا استفاده کنید.

مثال:

try

            {

                int p1 = System.Int32.Parse(P1Operand.Txet);

                int P2 = System.Int32.Parse(P2Operand.Text);

                int answer = doCalculation(P1, P2);

                rsulte = answer.ToString();

            }

            catch (System.FormatException caught)

            {

                //............

            }

            catch (System.DivideByZeroException caught)

            {

                //.................

            }

نکته جالب در مورد این دستورات try/catch (به غیر از جداسازی کد و اداره کننده های خطا) این است که clr بسته به نوع استثنا ها ، برنامه را به اداره کننده catch مناسب هدایت می کند و لازم نیست که صریحا یک exception را به یک اداره کننده مرتبط کنید و این کار به صورت خودکار انجام می شود.

 


» نظر
MS_P center_left3b